AdornerDragDropCanvas addcanvas = new AdornerDragDropCanvas();
Canvas ddCanvas = addcanvas.DragDropCanvas;        
ddCanvas.RenderTransform = pathRect.RenderTransform;
Panel.SetZIndex(ddCanvas, 5);

FlexiblePolygon flg = new FlexiblePolygon();
List<Coord> coords = VertexStr2Coord(sm.Vertex);
foreach (Coord c in coords)
{
    Point p = BaseMapCoordToScreenPoint(c, partitionDirectory.Boundary);
    Dian d = new Dian(p);
    d.Dad = flg;
    flg.add(d);                          
}
flg.showCanvas = ddCanvas;
flg.showAll();
baseMapPanel.RegisterName("BorderSetCanvas", ddCanvas);
baseMapPanel.Children.Add(ddCanvas);